import { inject, observer } from "mobx-react";
import { toJS } from "mobx"
import React from 'react';
import { WeaLeftRightLayout, WeaTop, WeaTab, WeaNewScroll, WeaLocaleProvider, WeaBrowser, WeaAlertPage } from 'ecCom';
import { WeaTableNew } from 'comsMobx';
const WeaTable = WeaTableNew.WeaTable;
const getLabel = WeaLocaleProvider.getLabel;
import '../style/taskCardNew.less';
import ListView from "../../comp/task-view-list";
import { Row, Tooltip, Col, Icon, Modal, message  } from "antd";
import { TaskDynamic } from "./TaskDynamic";
import TabDiscuss from '../../common/TabDiscuss'
import RelateWorkFlow from '../../common/relateWorkFlow'
import RelateDocument from "../../common/relateDocument"
import TaskSub from '../../common/taskSub';
import { TabComponent as TabSelf } from '../../common/tabComponent';
import TaskShare from '../../common/sharePage'
//import TaskNewInfo from './TaskNewInfo'
import RealteCrmDialog from '../../dialog/relateCrmDialog'
import ProjectLogDialog from "../../dialog/modifyLogDialog"
import ProjectFieldLogDialog from '../../dialog/projectFieldLogDialog';
import ProjectFieldDetailLogDialog from '../../dialog/ProjectFieldDetailLogDialog';
import TaskInfoDialog from '../../dialog/taskDialog'
import PrjForm from "../../prjForm.js";
import classnames from 'classnames';
// const rightMenus = [
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-edit", menuName: "编辑", type: "BTN_EDIT" },
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-delete", menuName: "删除", type: "BTN_DELETE" }
//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "添加", type: "BTN_APPEND" },
//         { isControl: "1", isTop: "1", menuFun: "", menuIcon: "icon-coms-delete", menuName: "批量删除", type: "BTN_DELETEBATCH" }
//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "添加子任务", type: "BTN_NEWSUB" },
//         { isTop: "0", menuFun: "", menuIcon: "icon-coms-Custom", menuName: "显示列定制", type: "BTN_COLUMN" },
//         { isTop: "1", type: "searchsAd" }
//     ],
//     [

//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "新建流程", type: "BTN_NEWREQ" }
//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "新建文档", type: "BTN_NEWDOC" }
//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "添加", type: "BTN_APPEND" },
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-delete", menuName: "批量删除", type: "BTN_DELETEBATCH" }
//     ],
//     [
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-New-Flow", menuName: "添加", type: "BTN_APPEND" },
//         { isTop: "1", menuFun: "", menuIcon: "icon-coms-delete", menuName: "批量删除", type: "BTN_DELETEBATCH" }
//     ]
// ]
@inject("taskCardNewStore","taskDynamicStore")
@observer
class TaskCardNew extends React.Component {
    static defaultProps = {
        prefixCls: 'new'
    };
    constructor(props) {
        super(props);
        this.state = {
            selectedKey : "",
            showdt : false
        }
  
    }
    componentDidMount(){
      const { prjid, taskCardNewStore, hasList, taskid } = this.props;
      if(hasList){
        taskCardNewStore.initData(prjid);
      }else{
        taskCardNewStore.initTaskData(taskid);
      }
     
    }
    componentWillReceiveProps(nextProps) {
        if (this.props.prjid !== nextProps.prjid) {
            const { prjid, taskCardNewStore, hasList, taskid } = nextProps;
            if(hasList){
              taskCardNewStore.initData(prjid);
            }else{
              taskCardNewStore.initTaskData(taskid);
            }
        }
    }
    render() {
        const { taskCardNewStore, taskid, hasList, prefixCls, taskInfoStore, prjid, isDialog, taskDynamicStore, delCallBack, fromPortal } = this.props;
        const { taskinfo, loading, changeTabs } = taskCardNewStore;
        const { tabDatas, selectTabKey, shareStore, taskLogTableStore, taskFieldLogTableStore, taskFieldDetailLogTableStore, fieldname, fieldinfo, getTaskList, breadcrumb, rightMenu, getTaskForm, initData, initTaskData } = taskCardNewStore;
        const { getPortalProjectDynamicInfo } = taskDynamicStore;
        const tabDatas1 = toJS(tabDatas);
        let _this = this;
        const titleStyle = {
            fontSize : "15px"
        }
        const height = document.body.offsetHeight - $(".prj-portal-page .wea-new-top-wapper").height() - 57 - 52.4 - $(".task_card_new .task_card_new_l_top").height() - 20 - 30;
        const scrollHeight = ($(".e9theme-layout-header").length > 0 || $(".e8theme-layout-header").length > 0) ? height - 55 - 22 : height - 15;
        const { showdt } = this.state;
        const textdt = showdt ? getLabel('518183','显示动态') : getLabel('518184','隐藏动态');
        const classdtArrow = classnames({
            'new-show-dt-arrow': showdt,
            'new-show-dt-arrow-r': !showdt
        });
        const classdtLine = classnames('new-dt-container',{
            'new-show-dt-line': showdt,
            'new-show-dt-line-r': !showdt
        });
        const classCardL = classnames('task_card_new_l',{
            'task_card_new_l_contents': showdt
        })
        const bWidth = !showdt?"62%":"100%";
        const showDynamic = !showdt?"":"none";
        const tabRenderNode = {
            [selectTabKey]: {
                'taskinfo': <div style={{ height: '100%' }}>
                    <PrjForm ecId={`${this && this.props && this.props.ecId || ''}_PrjForm@bp6er7`} hasTopTitle={true} height={scrollHeight} showdt={showdt} fieldinfo={fieldinfo} titleStyle={titleStyle} />
                    < ProjectLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectLogDialog@t80d3f`} ref="taskLogDialog" title={getLabel('83926', '任务日志')} tableStore={taskLogTableStore} store={taskCardNewStore} />
                    <ProjectFieldLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectFieldLogDialog@zr29u4`} title={getLabel('82274', '字段日志')} tableStore={taskFieldLogTableStore} store={taskCardNewStore} />
                    <ProjectFieldDetailLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectFieldDetailLogDialog@6nltmz`} title={getLabel('82274', '字段日志') + "-" + fieldname} tableStore={taskFieldDetailLogTableStore} store={taskCardNewStore} />
                    <TaskInfoDialog ecId={`${this && this.props && this.props.ecId || ''}_TaskInfoDialog@hwfoga`} contentStore={taskCardNewStore.taskInfoStore} prjid={prjid} callBack={() =>{
                        if(hasList){
                            initData(prjid);
                        }else{
                            initTaskData(taskid);
                        }
                        getTaskForm({ viewtype: 'view', taskid: taskCardNewStore.taskid });
                        getPortalProjectDynamicInfo("alltask");
                        getPortalProjectDynamicInfo("tasklog");
                    }} />
                </div>,
                'tasksub': <div style={{ height: '100%' }}><TaskSub ecId={`${this && this.props && this.props.ecId || ''}_TaskSub@mlp2jf`} showTab={false} contentStore={taskCardNewStore} callBack={() =>{
                    if(hasList){
                        initData(prjid);
                    }else{
                        initTaskData(taskid);
                    }
                }} /></div>,
                'exchange': <div style={{ height: '100%' }}><TabDiscuss ecId={`${this && this.props && this.props.ecId || ''}_TabDiscuss@xb40d4`} contentStore={taskCardNewStore} sortid={taskCardNewStore.taskid} /></div>,
                'taskshare': <div style={{ height: '100%' }}><TaskShare ecId={`${this && this.props && this.props.ecId || ''}_TaskShare@k4bcpa`} contentStore={taskCardNewStore} shareCondition={shareStore.shareCondition} title={getLabel(83973, "添加任务共享")} /></div>,
                'req': <div style={{ height: '100%' }}><RelateWorkFlow ecId={`${this && this.props && this.props.ecId || ''}_RelateWorkFlow@odhonb`} contentStore={taskCardNewStore} /></div>,
                'doc': <div style={{ height: '100%' }}><RelateDocument ecId={`${this && this.props && this.props.ecId || ''}_RelateDocument@c9lemy`} contentStore={taskCardNewStore} addDocFn={_this.addDocFn} /></div>,
                'crm': <div style={{ height: '100%' }}>{_this.getReleateCrmOrCpt("crm")}<RealteCrmDialog ecId={`${this && this.props && this.props.ecId || ''}_RealteCrmDialog@b1jiru`} contentStore={taskCardNewStore} /></div>,
                'cpt': <div style={{ height: '100%' }}> {_this.getReleateCrmOrCpt("cpt")}
                    <WeaBrowser ecId={`${this && this.props && this.props.ecId || ''}_WeaBrowser@o5rlg6`} type={"23"} title={getLabel(535, "资产")} ref={"addCpt"} fieldName={"addCpt"} onChange={(ids, names, datas) => _this.addCapital(ids, names, datas)} customized={true} hasAdvanceSerach={true} />
                </div>
            }

        }
        const tabRenderHandle = (id, shortname, linkurl) => {
            if (shortname !== '') {
                return tabRenderNode[id][shortname]
            } else if (shortname === "") {
                if (linkurl.indexOf("noright") > -1) {
                    return <WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@pkbax2`} >
                        <div style={{ color: '#000' }}>
                            {getLabel(2012, "对不起，您暂时没有权限！")}
                        </div>
                    </WeaAlertPage>
                } else {
                    return linkurl;
                }
            }
        }
        let tabUrl = function () {
            if (tabDatas1) {
                const prefixCls = 'new-tab-bar-menu'
                for (let i = 0; i < tabDatas1.length; i++) {
                    if (tabDatas1[i].id == selectTabKey) {
                        if (tabDatas1[i].shortname !== ''){
                            return (
                                <React.Fragment ecId={`${this && this.props && this.props.ecId || ''}_Fragment@201m41`}>
                                    {
                                        rightMenu&&rightMenu.length>1&&
                                        <div className={`${prefixCls}-wraps`}>
                                            <ul className={`${prefixCls}-ul`}>
                                                {rightMenu.map((menu,i) => (
                                                    menu.isTop == 1 &&
                                                    (menu.type === 'searchsAd' ?
                                                        <div style={{ width: '300px', marginTop: '-3px' }}><TabSelf ecId={`${this && this.props && this.props.ecId || ''}_TabSelf@q2ohz0@${i}`} contentStore={taskCardNewStore} /></div>
                                                        : <li key={menu.type}><span className={`${prefixCls}-name`} onClick={() => { _this.menuClick(menu) }}>{menu.menuName}</span></li>)
                                                ))
                                            }
                                            </ul>
                                        </div>
                                    }
                                    <WeaNewScroll ecId={`${this && this.props && this.props.ecId || ''}_WeaNewScroll@nkiv41`} scrollId='prj-req-content-main-scroll' style={{position: 'absolute',top: (rightMenu&&rightMenu.length>1)?'45px':'0px',bottom: '0px',width: '100%'}}>
                                        {
                                            tabRenderHandle(tabDatas1[i].id, tabDatas1[i].shortname, tabDatas[i].linkurl)
                                        }
                                    </WeaNewScroll>
                                </React.Fragment>
                            )
                        }else if (tabDatas1[i].shortname === ""){
                            return tabRenderHandle(tabDatas1[i].id, tabDatas1[i].shortname, tabDatas[i].linkurl);
                        }
                    }
                }
                return ""
            }
        }();

        if (hasList) {
            if(taskCardNewStore.taskList.length==0){
                return  <WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@kk8y2i`} icon="icon-coms-blank" >
                            <div style={{color : '#000'}}>
                                {getLabel(83553, '暂无数据')}
                            </div>
                            <TaskInfoDialog ecId={`${this && this.props && this.props.ecId || ''}_TaskInfoDialog@4dt8lx`} contentStore={taskInfoStore} prjid={prjid} callBack={() => {
                                if(hasList){
                                    initData(prjid);
                                    if(delCallBack){
                                        delCallBack();
                                    }
                                }else{
                                    initTaskData(taskid);
                                }
                            }} />
                        </WeaAlertPage>
            }
            return (
                <WeaLeftRightLayout ecId={`${this && this.props && this.props.ecId || ''}_WeaLeftRightLayout@r8yfan`}
                    isNew={true}
                    leftWidth={230}
                    leftCom={<ListView ecId={`${this && this.props && this.props.ecId || ''}_ListView@fm2uqh`}
                        datas={taskCardNewStore.taskList}
                        onItemClick={taskCardNewStore.changeSelectedKey}
                        pagination={{
                            current:taskCardNewStore.pagination.current,
                            pageSize:taskCardNewStore.pagination.pageSize,
                            total:taskCardNewStore.pagination.total,
                            onChange:taskCardNewStore.onChangePaginNation
                        }}
                        currentKey={taskCardNewStore.currentKey}
                        scrollHeight={fromPortal?taskCardNewStore.commonStore.contentHeight - 171 - 51:taskCardNewStore.commonStore.contentHeight - 171}
                    />}
                    onCollapse={showLeft => {}}
                  >
                    {/* <Row style={{borderBottom:"1px solid #eaeaea"}}>
                        <Col span={"4"}>任务1</Col>
                        <Col span={"18"}></Col>
                        <Col span={"2"}>展开收起按钮</Col>
                    </Row> */}
                    <div style={{ backgroundColor: '#f5f5f5', height: '100%' }}>


                        <WeaTop ecId={`${this && this.props && this.props.ecId || ''}_WeaTop@uc44t3`}
                            buttons={[<div className={classdtLine} onClick={() => { this.setState(pre => ({ showdt: !pre.showdt })) }}><span className={classdtArrow}></span>{textdt}</div>]}
                            loading={loading}
                            breadcrumb={breadcrumb || [{ name: "#9" }, { name: "#12" }, { name: "#13" }]}
                        />
                        <div style={{ height: "calc(100% - 52.4px)", position: 'relative' }} className={"task_card_new"}>
                            <div className={classCardL}>
                                <div className='task_card_new_l_top prj-mode-action-style'>
                                    <div className={`${prefixCls}-task-wide-title`}>
                                        <div className={`${prefixCls}-task-wide-title-container`}>{taskinfo.subject}</div>
                                    </div>
                                    <Row ecId={`${this && this.props && this.props.ecId || ''}_Row@33q3ma`} className={`${prefixCls}-task-wide`} style={{display:'flex'}}>
                                        <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@il6ubl`} span={5} style={{minWidth:110}}>
                                            <div className={"top_tips"}>
                                                <div className={"left_icon"}>
                                                    <a href={'javaScript:openhrm(' + taskinfo.hrmid + ');'} onClick={e => window.pointerXY(e)} >
                                                        <img src={taskinfo.hrmidicon} className="manager-img" />
                                                    </a>
                                                </div>
                                                <div className={"right_info"}>
                                                    <Tooltip ecId={`${this && this.props && this.props.ecId || ''}_Tooltip@l7q4xe`} placement="topLeft" title={taskinfo.hrmidname&&taskinfo.hrmidname.length>0?taskinfo.hrmidname.join(' '):taskinfo.hrmidname}>
                                                        <div className="right_info_l right_info_overflow">
                                                            {taskinfo.hrmidname}
                                                        </div>
                                                    </Tooltip>

                                                    <div className={"right_info_r"}>
                                                        {getLabel('15285', '任务负责人')}
                                                    </div>
                                                </div>
                                            </div>
                                        </Col>
                                        <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@dthkg8`} span={5} style={{minWidth:110}}>
                                            <div className={"top_tips"}>
                                                <div className={"left_icon"}>
                                                    {
                                                        taskinfo.finish == 100 ? <i className="icon-coms-Upload-successfully-o manager-img stauts_finish" /> : 
                                                        taskinfo.islater ? <Icon ecId={`${this && this.props && this.props.ecId || ''}_Icon@zp5r47`} type="exclamation-circle" className="manager-img  flag"/> :
                                                        // <Icon type="api" className="manager-img stauts_finish "/>
                                                        taskinfo.wks ? <i className="icon-coms-Narrow manager-img stauts_wks" /> :
                                                        <i className="icon-coms-Update-synchronization manager-img stauts_finish" />
                                                    }
                                                    
                                                </div>
                                                <div  className={"right_info"}>
                                                    <div className={"right_info_l"}>
                                                        {
                                                            taskinfo.finish == 100 ? getLabel('23774','已完成') : taskinfo.islater ? getLabel('21984', "已超期") : taskinfo.wks ? getLabel(1979,"未开始") : getLabel('1960','进行中')
                                                        }
                                                    </div> 
                                                    <div className={"right_info_r"}>
                                                        {getLabel('1929','当前状态')}
                                                    </div> 
                                                </div>
                                            </div>
                                        </Col>
                                        <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@lsqbgv`} span={5} style={{minWidth:110}}>
                                            <div className={"top_tips"}>
                                                <div className={"left_icon"}>
                                                    <i className={taskinfo.islandmark == 0 ? "icon-coms-Flag manager-img flag1" : "icon-coms-Flag manager-img stauts_wks"} />
                                                </div>
                                                <div className={"right_info"}>
                                                    <div className={"right_info_l"}>
                                                        {taskinfo.islandmark == 0 ? getLabel('30587', '否') : getLabel('163', '是')}
                                                    </div>
                                                    <div className={"right_info_r"}>
                                                        {getLabel('2232', '里程碑任务')}
                                                    </div>
                                                </div>
                                            </div>
                                        </Col>
                                    <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@6adw7h`} span={9} className='timecol'>
                                        <div className={"top_tips timecol1"}>
                                            <div className={"left_icon"}>
                                                <i className="icon-coms-schedule manager-img" />
                                            </div>
                                            <div  className={"right_info"} style={{width:0, flex:1}}>
                                                <div className={"right_info_l"} title={(taskinfo.begindate ||getLabel('514133','未设置'))+'~'+(taskinfo.enddate ||getLabel('514133','未设置'))}>
                                                    {taskinfo.begindate ||getLabel('514133','未设置')}~{taskinfo.enddate ||getLabel('514133','未设置')}
                                                </div> 
                                                <div className={"right_info_r"}>
                                                    {getLabel('518186','开始结束时间')}
                                                </div> 
                                            </div>
                                        </div>
                                    </Col>
                                  
                                </Row>
                                <WeaTab ecId={`${this && this.props && this.props.ecId || ''}_WeaTab@5leh4k`}
                                    datas={tabDatas}
                                    keyParam="viewcondition" //主键
                                    selectedKey={selectTabKey}
                                    onChange={v => changeTabs(v) }
                                />
                                </div>
                                <div className="prj-req-content1" style={{ padding: "0px", position: 'absolute', left: '0px', right: '0px', top: '154px', bottom: '0px', width: bWidth }}>
                                    <div className='prj-req-content-inner' style={{ border: "0px" }}>
                                        {
                                                typeof tabUrl === "object" ? tabUrl :
                                                <iframe src={tabUrl} id="prjtabiframe" name="prjtabiframe" className="flowFrame" frameborder="0" width="100%" height="100%" />
                                        }
                                    </div>
                                </div>
                            </div>
                            <div style={{width:"38%",height:"calc(100%-51px)",borderLeft:"1px solid #eaeaea",float:"left",display:showDynamic}}>
                                <TaskDynamic ecId={`${this && this.props && this.props.ecId || ''}_TaskDynamic@p13cp0`} fromPortal={fromPortal} taskid={taskCardNewStore.taskid} style={{height:"100%"}}></TaskDynamic>
                            </div>
                        </div>
                        <TaskInfoDialog ecId={`${this && this.props && this.props.ecId || ''}_TaskInfoDialog@jp17m3`} contentStore={taskInfoStore} prjid={prjid} callBack={() => { getTaskList(); }} />
                    </div>
                </WeaLeftRightLayout>)
            
        }else{
           return(
                <Row ecId={`${this && this.props && this.props.ecId || ''}_Row@dq6rul`} className={"task_card_new"} style={{padding:'5px'}}>
                 {/* <Row style={{borderBottom:"1px solid #eaeaea"}}>
                    <Col span={"4"}>任务1</Col>
                    <Col span={"18"}></Col>
                    <Col span={"2"}>展开收起按钮</Col>
                </Row> */}
                 <WeaTop ecId={`${this && this.props && this.props.ecId || ''}_WeaTop@349pgj`}
                    title={taskinfo.subject}
                    icon={<i className='icon-coms-project' />}
                    iconBgcolor='#217346'
                    buttons={[]}
                    loading={loading}
                    />
                <Row ecId={`${this && this.props && this.props.ecId || ''}_Row@nxkb6v`} style={{height:isDialog?"calc( 100% - 61px )":" 100% "}}>
                <div style={{width:"70%",height:"100%",float:"left"}}>
                                <Row ecId={`${this && this.props && this.props.ecId || ''}_Row@d6w74t`}>
                                    <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@yt75j3`} span={5}>
                                        <div className={"top_tips"}>
                                            <div className={"left_icon"}>
                                                <a href={'javaScript:openhrm('+taskinfo.hrmid+');'} onClick={e => window.pointerXY(e)} >
                                                    <img src={taskinfo.hrmidicon} className="manager-img" />
                                                </a>
                                            </div>
                                            <div  className={"right_info"}>
                                                <Tooltip ecId={`${this && this.props && this.props.ecId || ''}_Tooltip@i2rgo4`} placement="topLeft" title={taskinfo.hrmidname&&taskinfo.hrmidname.length>0?taskinfo.hrmidname.join(' '):taskinfo.hrmidname}>
                                                    <div className="right_info_l right_info_overflow">
                                                        {taskinfo.hrmidname}
                                                    </div>
                                                </Tooltip>
                                                <div className={"right_info_r"}>
                                                    {getLabel('15285','任务负责人')}
                                                </div> 
                                            </div>
                                        </div>
                                    </Col>
                                    <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@k6yxff`} span={5}>
                                        <div className={"top_tips"}>
                                                <div className={"left_icon"}>
                                                    {
                                                        taskinfo.finish == 100 ? <i className="icon-coms-Upload-successfully-o manager-img stauts_finish" /> : 
                                                        taskinfo.islater ? <Icon ecId={`${this && this.props && this.props.ecId || ''}_Icon@n4ub2h`} type="exclamation-circle" className="manager-img  flag"/> :
                                                        // <Icon type="api" className="manager-img stauts_finish "/>
                                                        taskinfo.wks ? <i className="icon-coms-Narrow manager-img stauts_wks" /> :
                                                        <i className="icon-coms-Update-synchronization manager-img stauts_finish" />
                                                    }
                                                    
                                                </div>
                                                <div  className={"right_info"}>
                                                    <div className={"right_info_l"}>
                                                        {
                                                            taskinfo.finish == 100 ? getLabel('23774','已完成') : taskinfo.islater ? getLabel('21984', "已超期") : taskinfo.wks ? getLabel(1979,"未开始") : getLabel('1960','进行中')
                                                        }
                                                    </div> 
                                                    <div className={"right_info_r"}>
                                                        {getLabel('1929','当前状态')}
                                                    </div> 
                                                </div>
                                        </div>
                                    </Col>
                                    <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@5jjx3m`} span={5}>
                                        {
                                        <div className={"top_tips"}>
                                            <div className={"left_icon"}>
                                                <i className={taskinfo.islandmark == 0 ? "icon-coms-Flag manager-img flag1" : "icon-coms-Flag manager-img stauts_wks"} />
                                            </div>
                                            <div  className={"right_info"}>
                                                <div className={"right_info_l"}>
                                                    {taskinfo.islandmark == 0 ? getLabel('30587', '否') : getLabel('163', '是')}
                                                </div> 
                                                <div className={"right_info_r"}>
                                                    {getLabel('2232','里程碑任务')}
                                                </div> 
                                            </div>
                                        </div>
                                        }
                                    </Col>
                                    <Col ecId={`${this && this.props && this.props.ecId || ''}_Col@yn5mao`} span={9}>
                                        <div className={"top_tips"}>
                                            <div className={"left_icon"}>
                                                <i className="icon-coms-schedule manager-img" />
                                            </div>
                                            <div  className={"right_info"}>
                                                <div className={"right_info_l"}>
                                                    {taskinfo.begindate}~{taskinfo.enddate}
                                                </div> 
                                                <div className={"right_info_r"}>
                                                    {getLabel('518186','开始结束时间')}
                                                </div> 
                                            </div>
                                        </div>
                                    </Col>
                                  
                                </Row>
                                <WeaTab ecId={`${this && this.props && this.props.ecId || ''}_WeaTab@nxvh8x`}
                                    datas={tabDatas}
                                    keyParam="viewcondition" //主键
                                    selectedKey={selectTabKey}
                                    onChange={v => changeTabs(v) }
                                />
                                 <div className="prj-req-content" style={{padding:"0px",    height: 'calc( 100% - 100px)', position: "relative"}}>
                                    <div className='prj-req-content-inner' style={{border:"0px"}}>
                                        {
                                                typeof tabUrl === "object" ? tabUrl :
                                                    <iframe src={tabUrl} id="prjtabiframe" name="prjtabiframe" className="flowFrame" frameborder="0" width="100%" height="100%" />
                                            }
                                    </div>
                                </div>
                            </div>
                    <div style={{width:"30%",height:"100%",borderLeft:"1px solid #eaeaea",float:"left",display:showDynamic}}>
                        <TaskDynamic ecId={`${this && this.props && this.props.ecId || ''}_TaskDynamic@wwp45h`} fromPortal={fromPortal} taskid={taskCardNewStore.taskid} style={{height:"100%"}} isDialog={isDialog}></TaskDynamic>
                    </div>
                </Row>
            </Row>)
        }
       
    }

    getReleateCrmOrCpt(type) {
        const { taskRelRight: { hasRight, verified }, taskCrmStore, taskCptStore } = this.props.taskCardNewStore;
        if (verified && !hasRight) {
            return (<WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@0pe7bo`} >
                <div style={{ color: '#000' }}>
                    {getLabel(2012, "对不起，您暂时没有权限！")}
                </div>
            </WeaAlertPage>
            )
        }
        if (verified && hasRight) {
            if (type == "crm") {
                return <WeaTable ecId={`${this && this.props && this.props.ecId || ''}_WeaTable@azmu9f`}
                    comsWeaTableStore={taskCrmStore}
                    hasOrder={true}
                    needScroll={true}
                    onOperatesClick={this.onCrmOperatesClick.bind(this)}
                />
            }
            if (type == "cpt") {
                return <WeaTable ecId={`${this && this.props && this.props.ecId || ''}_WeaTable@wjk05u`}
                    comsWeaTableStore={taskCptStore}
                    hasOrder={true}
                    needScroll={true}
                    onOperatesClick={this.onCptOperatesClick.bind(this)}
                />
            }
        }
        return <div></div>
    }

    //资产操作按钮
    onCrmOperatesClick = (record, index, operate, flag) => {
        let _href = operate && operate.href ? operate.href : "";
        let fn = _href.replace("javascript:", "");
        fn = fn.substring(0, fn.indexOf('('));
        const { taskCardNewStore } = this.props;
        const { doDspTaskReferenceOpt, taskid, taskDocStore } = taskCardNewStore;
        if (fn != "") {
            if ("onDelRelated" == fn) {  //delete
                Modal.confirm({
                    title: getLabel(15172, "系统提示"),
                    content: getLabel(83600, "您确认要删除吗？"),
                    onOk() {
                        doDspTaskReferenceOpt({
                            dotype: 'crm',
                            method: 'del',
                            prjid: "",
                            taskid: taskid,
                            ids: record.randomFieldId
                        }, 'crm')
                    },
                    onCancel() { },
                })
            } else if ("onEdit" == fn) {  //编辑
                taskCardNewStore.setRelateCrmUpdateID(record.randomFieldId);
                taskCardNewStore.handleRelateCrmDialog(true, "edit", {
                    crmid: {
                        value: record.customerid,
                        valueSpan: record.customeridspan,
                        valueObj: [{ id: record.customerid, name: record.customeridspan, }],
                    },
                    reasondesc: { value: record.reasondesc }
                });
            }
        }
    }
    //资产操作按钮
    onCptOperatesClick = (record, index, operate, flag) => {
        let _href = operate && operate.href ? operate.href : "";
        let fn = _href.replace("javascript:", "");
        fn = fn.substring(0, fn.indexOf('('));
        const { taskCardNewStore } = this.props;
        const { doDspTaskReferenceOpt, taskid, taskDocStore } = taskCardNewStore;
        if (fn != "") {
            if ("onDelRelated" == fn) {  //delete
                Modal.confirm({
                    title: getLabel(15172, "系统提示"),
                    content: getLabel(83600, "您确认要删除吗？"),
                    onOk() {
                        doDspTaskReferenceOpt({
                            dotype: 'cpt',
                            method: 'del',
                            prjid: "",
                            taskid: taskid,
                            ids: record.randomFieldId
                        }, 'cpt')
                    },
                    onCancel() { },
                })
            }
        }
    }

    menuClick = (m) =>{
        const { taskCardNewStore, prjid, delCallBack } = this.props;
        const { selectTabKey, shareTableStore, tabDatas, taskInfoStore, taskid } = taskCardNewStore;
        const tabDatas1 = toJS(tabDatas);
        if (tabDatas1) {
            for (let i = 0; i < tabDatas1.length; i++) {
                console.log(tabDatas1[i],tabDatas1[i].shortname,tabDatas1[i].key,selectTabKey)
                if (tabDatas1[i].shortname == "taskinfo" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_EDIT") { //编辑
                        taskInfoStore.handleDialog(true,"edit",taskid);
                    } else if (m.type == "BTN_SAVE") {  //保存
                        taskCardNewStore.saveTaskInfo({ taskid: taskid });
                    } else if (m.type == "BTN_DELETE") {  //删除
                        taskCardNewStore.delTask("del", taskid, {callBack: ()=> {if(delCallBack){delCallBack()}}});
                    } else if (m.type == "BTN_BACK") {  //返回
                        taskCardNewStore.getTaskForm({ viewtype: 'view', taskid: taskid });
                    }
                } else  if (tabDatas1[i].shortname == "cpt" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_APPEND") { //添加
                        this.refs.addCpt.openModal();
                    } else if (m.type == "BTN_DELETEBATCH") {  //删除
                        this.deleteCrmOrCpt('cpt');
                    }
                } else  if (tabDatas1[i].shortname == "crm" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_APPEND") { //添加
                        taskCardNewStore.handleRelateCrmDialog(true, "add", {
                            crmid: { value: '', valueSpan: '', valueObj: [] },
                            reasondesc: { value: "" }
                        });
                    } else if (m.type == "BTN_DELETEBATCH") {  //删除
                        this.deleteCrmOrCpt('crm');
                    }
                } else  if (tabDatas1[i].shortname == "req" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_NEWREQ") {
                        //console.log("新建流程")
                        this.openFullWindow("/spa/workflow/static/index.html#/main/workflow/add?openNewWindow=0&taskid=" + taskid);
                    }
                } else  if (tabDatas1[i].shortname == "doc" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_NEWDOC") {
                        //console.log("新建文档")
                        this.openFullWindow('/spa/document/static/index.html#/main/document/add?openNewWindow=0&moudleFrom=task');
                        let _this = this;
                        window.__createDocFn = function (obj) {
                            let docid = obj.docid;
                            let docsubject = obj.docSubject;
                            // console.log(docid,docsubject);
                            _this.addDocument(docid,docsubject,'');
                        }
                    }
                } else  if (tabDatas1[i].shortname == "taskshare" && tabDatas1[i].id == selectTabKey) {
                    if (m.type == "BTN_APPEND") { //添加
                        taskCardNewStore.showAddShareModal(true);
                    } else if (m.type == "BTN_DELETEBATCH") {  //删除
                        let { selectedRowKeys } = shareTableStore;
                        if (selectedRowKeys.length > 0) {
                            taskCardNewStore.delBatchShare(`${toJS(selectedRowKeys)}`);
                        } else {
                            message.error(getLabel(84093, "请至少选择一条记录！"));
                        }
                    }
                }
            }
            if(m.type == "BTN_NEWSUB"){ //添加子任务
                taskInfoStore.handleDialog(true,"add",taskid,{prjid:prjid,parentid:taskid});
            }
        }
    }

    openFullWindow = (url) => {
        const width = screen.availWidth - 10;
        const height = screen.availHeight - 50;
        let szFeatures = 'top=0,';
        szFeatures += 'left=0,';
        szFeatures += `width=${width},`;
        szFeatures += `height=${height},`;
        szFeatures += 'directories=no,';
        szFeatures += 'status=yes,toolbar=no,location=no,';
        szFeatures += 'menubar=no,';
        szFeatures += 'scrollbars=yes,';
        szFeatures += 'resizable=yes';
        window.open(url, '', szFeatures);
    }

    //新建
    addDocument=(ids, names, datas)=>{
        const {taskCardNewStore,prjid} = this.props;
        const {doDspTaskReferenceOpt,taskid} = taskCardNewStore;
        doDspTaskReferenceOpt({
            dotype:'doc',
            method:'add',
            prjid : prjid,
            taskid:taskid,
            docid:ids,
            ids:""
        },'doc')
    }

     addWorkFlow=(ids, names, datas)=>{
        const {taskCardNewStore,prjid} = this.props;
        const {doDspTaskReferenceOpt,taskid} = taskCardNewStore;
        doDspTaskReferenceOpt({
            dotype:'doc',
            method:'add',
            prjid : prjid,
            taskid:taskid,
            docid:ids,
            ids:""
        },'doc')
    }

    //资产新建
    addCapital = (ids, name, data) => {
        const { taskCardNewStore, prjid } = this.props;
        const { doDspTaskReferenceOpt, taskid } = taskCardNewStore;
        doDspTaskReferenceOpt({
            dotype: 'cpt',
            method: 'add',
            prjid: prjid,
            taskid: taskid,
            cptid: ids
        }, 'cpt');
    }

    deleteCrmOrCpt = (type) => {
        const { taskCardNewStore } = this.props;
        const { taskid, doDspTaskReferenceOpt, taskCrmStore, taskCptStore } = taskCardNewStore;
        const { selectedRowKeys } = (type == "cpt" ? taskCptStore : taskCrmStore);
        if (selectedRowKeys.length > 0) {
            Modal.confirm({
                title: getLabel(15172, "系统提示"),
                content: getLabel(83601, "您确认要删除选中的记录吗？"),
                onOk() {
                    doDspTaskReferenceOpt({
                        dotype: type,
                        method: 'del',
                        prjid: "",
                        taskid: taskid,
                        ids: `${toJS(selectedRowKeys)}`
                    }, type)
                },
                onCancel() { },
            })
        } else {
            // Modal.warning({
            //     title: getLabel(15172,"系统提示"),
            //     content: getLabel(84093,"请至少选择一条记录！"),
            // })
            message.error(getLabel(84093, "请至少选择一条记录！"));
        }
    }

}

 
export default TaskCardNew;
